In modern computer systems, various components communicate with each other according to a given communication protocol. For example, a peripheral device may communicate with a processor of a system via an intermediate interface such as a controller hub coupled between the device and processor. An example form of such communication is according to a so-called Peripheral Component Interconnect Express (PCI Express™ (PCIe™)) communication protocol.
Typical transactions include write and read transactions, interrupts and so forth. Typically, read transactions are used by a peripheral device to obtain data from a memory. However, such devices generally do not communicate read transactions directly to a processor, such as to query information regarding the processor. This is so, as it is unnatural and difficult to allow such a query, as an in-out dependency would occur and further would raise ordering issues in the processor. Thus while a processor may include various identification information such as processor identifier (ID) information, fusing information, state information or configuration information regarding its capabilities and so forth, it is generally difficult or impossible for devices coupled to the processor to obtain such information.